技术 | 20 分钟创建一个定位游戏
Mapbox 最近(6月27日 - 6月29日)参加了在 Amsterdam(阿姆斯特丹)举办的 Unite Europe 2017 大会。我们在大会上与许多艺术家们以及使用 Maps SDK for Unity 的开发者们进行了深入交流,并分享了 Mapbox 是如何将全球位置元数据、3D 建筑模型、地形图、以及卫星影像等内容融入到 Unity 游戏开发之中的。
Mapbox 的游戏工程师 David Rhodes 在大会上做了一次精彩的演讲,演示了如何快速创建一个定位游戏,并利用 Mapbox 平台提供的数据图层来自定义游戏环境:
1. 初始化工作
创建一个空的Unity Project项目。
下载并添加Mapbox Unity SDK到项目中。
配置你的Mapbox access token访问令牌到Unity Project中。
2. 地图配置
用 Mapbox 的数字高程模型创建了一个网格。
这里我们使用mapbox.terrain-rgb 数据源,来配置高程模型。
在 Mapbox Studio 中给栅格地图设计样式,并将样式置于网格之上。
你可以使用默认的street-v10样式作为栅格地图。
为了隐藏栅格地图的标签,只保留道路和一些土地使用类型,如公园、森林和水域。
我们在Studio中重新设计的样式,作为栅格地图添加到Unity中。
在地图切片中添加 3D 建筑。
使用mapbox-streets-v7 数据源中building来生成3D建筑物。
为地图添加POI信息。
根据土地使用类型,自动添加相应的布景,如树木、岩石和草地等。
David Rhodes 的 Demo 最终效果:
https://v.qq.com/txp/iframe/player.html?vid=u1321dha283&width=500&height=375&auto=0
通过 David Rhodes 的 Demo,大家了解到了使用 Mapbox Unity SDK 附带的程序化网格生成模块,可以为地球上任何一个地方创建样式化的地图环境。
是不是想马上试着创建自己的项目?点击这里下载 Demo 的源代码。注意,使用该 demo 需要安装 Unity 5.6.1+, 并获取 Mapbox 的访问令牌(点击此处免费获取 SDK 令牌)。
下面是David Rhodes 在大会上的演讲视频:
https://v.qq.com/txp/iframe/player.html?vid=p0530achytc&width=500&height=375&auto=0
如果您想要在项目中使用最新的 ARKit ,可以看看 Jesse 发表的文章。同时别忘了上 Twitter 添加 #BuiltWithMapbox 标签分享你的成果哦!您还可以通过Mapbox微信公众号跟我们分享您使用Mapbox Unity SDK的开发经验。